﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sistema_Totem.Datos.SqlServer;
using System.Web.UI.WebControls;

namespace Sistema_Totem.Logica.Clases
{
    public class Requerimiento
    {

        #region Atributos

        private int id;
        private String nombre;
        private String nombreElemento;
        private String contenido;

        #endregion Atributos

        #region Constructores

        public Requerimiento()
        { }

        public Requerimiento(int idRequerimiento, String nombreRequerimiento)
        {
            id = idRequerimiento;
            nombre = nombreRequerimiento;
        }

        public Requerimiento(String elemento, String contenidoElemento)
        {
            nombreElemento = elemento;
            contenido = contenidoElemento;
        }
        
        #endregion Constructores

        #region Getters y Setters

        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        public String Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        public String NombreElemento
        {
            get { return nombreElemento; }
            set { nombreElemento = value; }
        }

        public String Contenido
        {
            get { return contenido; }
            set { contenido = value; }
        }

        #endregion Getters y Setters

        #region Metodos

        #region Agregar Requerimiento
        /// <summary>
        /// Peticion para la base de datos para agregar un requerimiento
        /// </summary>
        public int AgregarRequerimiento(int idProyecto, List<String> valores, List<int> ids)
        {
            SqlServerRequerimiento sqlserverRequerimiento = new SqlServerRequerimiento();
            return sqlserverRequerimiento.AgregarRequerimiento(valores, idProyecto, ids );
        }

        #endregion Agregar Requerimiento

        #region Listar Elementos
        /// <summary>
        /// Peticion para la base de datos para listar los elementos de una plantilla
        /// </summary>
        public List<Elemento> ListarElementos(int idProyecto)
        {
            SqlServerRequerimiento sqlserverRequerimiento = new SqlServerRequerimiento();
            return sqlserverRequerimiento.ListarElementos(idProyecto);
        }

        #endregion Listar Elementos

        #region Listar Requerimientos
        /// <summary>
        /// Peticion para la base de datos para listar los requerimientos de un proyecto
        /// </summary>
        public List<Requerimiento> ListarRequerimientos(int idProyecto)
        {
            SqlServerRequerimiento sqlserverRequerimiento = new SqlServerRequerimiento();
            return sqlserverRequerimiento.ListarRequerimientos(idProyecto);
        }

        #endregion Listar Requerimientos

        #region Consultar Requerimiento
        /// <summary>
        /// Peticion para la base de datos para Obtener los parámetros de un requerimiento
        /// </summary>
        public List<Requerimiento> ConsultarRequerimiento(int idRequerimiento)
        {
            SqlServerRequerimiento sqlserverRequerimiento = new SqlServerRequerimiento();
            return sqlserverRequerimiento.ConsultarDetalleRequerimiento(idRequerimiento);
        }

        #endregion Consultar Requerimiento

        #region Eliminar Requerimiento
        /// <summary>
        /// Peticion para la base de datos para eliminar un requerimiento
        /// </summary>
        public int EliminarRequerimiento(int idRequerimiento)
        {
            SqlServerRequerimiento sqlserverRequerimiento = new SqlServerRequerimiento();
            return sqlserverRequerimiento.EliminarRequerimiento(idRequerimiento);
        }

        #endregion Eliminar Requerimiento

        #endregion Metodos
    }
}